<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--
Generated from $Fink: x11.ru.xml,v 1.4 2007/08/15 21:57:05 dmacks Exp $
-->
<title>Fink Documentation - Использование X11 в Darwin и Mac OS X</title></head><body>
<table width="100%" cellspacing="0">
<tr valign="bottom">
<td align="center">
Available Languages:  | 
<a href="x11.en.html">English</a> | 
<a href="x11.es.html">Espa&ntilde;ol</a> | 
<a href="x11.fr.html">Fran&ccedil;ais</a> | 
<a href="x11.ja.html">&#26085;&#26412;&#35486; (Nihongo)</a> | 
<a href="x11.pt.html">Portugu&ecirc;s</a> | 
&#1056;&#1091;&#1089;&#1089;&#1082;&#1080;&#1081; (Russkiy) | 
<a href="x11.zh.html">&#20013;&#25991; (&#31616;) (Simplified Chinese)</a> | 
</td>
</tr>
</table>
<h1 style="text-align: center;">Использование X11 в Darwin и Mac OS X</h1>
        <p> Данный документ посвящен использованию X11 / XFree86 / Xtools в Mac
            OS X и Darwin Apple. В нем вы найдете введение, историю создания продукта, а также отражение
            текущей ситуации и множества
            имеющихся возможностей для применения  X11 как с Fink, так и иным образом.</p>
    <h2>Contents</h2><ul><li><a href="#intro"><b>1 Введение</b></a><ul><li><a href="#intro.def-x11">1.1 Что такое X11?</a></li><li><a href="#intro.def-macosx">1.2 Что такое Mac OS X?</a></li><li><a href="#intro.def-darwin">1.3 Что такое Darwin?</a></li><li><a href="#intro.def-xfree86">1.4 Что такое XFree86?</a></li><li><a href="#intro.def-xtools">1.5 Что такое Xtools?</a></li><li><a href="#intro.client-server">1.6 Клиент и сервер</a></li><li><a href="#intro.rootless">1.7 Что означает "бескорневой" ("rootless")?</a></li><li><a href="#intro.wm">1.8 Что такое менеджер окон?</a></li><li><a href="#intro.desktop">1.9 Что такое Quartz/Aqua, Gnome и KDE?</a></li></ul></li><li><a href="#history"><b>2 История создания продукта</b></a><ul><li><a href="#history.early">2.1 Отрочество</a></li><li><a href="#history.xonx-forms">2.2 Формы XonX</a></li><li><a href="#history.root-or-not">2.3 Быть иль не быть корневым?</a></li></ul></li><li><a href="#inst-xfree86"><b>3 Получение и инсталляция XFree86</b></a><ul><li><a href="#inst-xfree86.fink">3.1 Инсталляция через Fink</a></li><li><a href="#inst-xfree86.apple-binary">3.2 Бинарные файлы Apple</a></li><li><a href="#inst-xfree86.official-binary">3.3 Официальные бинарные файлы</a></li><li><a href="#inst-xfree86.official-source">3.4 Официальный исходный код</a></li><li><a href="#inst-xfree86.latest-cvs">3.5 Исходный код на основе последних разработок</a></li><li><a href="#inst-xfree86.macgimp">3.6 MacGimp</a></li><li><a href="#inst-xfree86.switching-x11">3.7 Замена X11</a></li><li><a href="#inst-xfree86.fink-summary">3.8 Обзор пакетов Fink</a></li></ul></li><li><a href="#run-xfree86"><b>4 Запуск XFree86</b></a><ul><li><a href="#run-xfree86.darwin">4.1 Darwin</a></li><li><a href="#run-xfree86.macosx-41">4.2 Mac OS X + XFree86 4.x.y</a></li><li><a href="#run-xfree86.xinitrc">4.3 Файл .xinitrc</a></li></ul></li><li><a href="#xtools"><b>5 Xtools</b></a><ul><li><a href="#xtools.install">5.1 Инсталляция Xtools</a></li><li><a href="#xtools.run">5.2 Запуск Xtools</a></li><li><a href="#xtools.opengl">5.3 Примечания в связи с OpenGL</a></li></ul></li><li><a href="#other"><b>6 Другие возможности X11</b></a><ul><li><a href="#other.vnc">6.1 VNC</a></li><li><a href="#other.wiredx">6.2 WiredX</a></li><li><a href="#other.exodus">6.3 eXodus</a></li></ul></li><li><a href="#trouble"><b>7 Устранение проблем, возникших в связи с XFree86</b></a><ul><li><a href="#trouble.immedate-quit">7.1 При запуске XDarwin она практически сразу завершает работу или зависает</a></li><li><a href="#trouble.black">7.2 Черные иконки на панели GNOME и в меню приложения GNOME</a></li><li><a href="#trouble.keyboard">7.3 Клавиатура не работает в XFree86</a></li><li><a href="#trouble.delete-key">7.4 Клавиша возврата (Backspace) не действует</a></li><li><a href="#trouble.locale">7.5 "Warning: locale not supported by C library"</a></li></ul></li><li><a href="#tips"><b>8 Подсказки по использованию</b></a><ul><li><a href="#tips.terminal-app">8.1 Запуск приложений X11 из окна Terminal.app</a></li><li><a href="#tips.open">8.2 Запуск приложения Aqua apps из xterm</a></li><li><a href="#tips.copy-n-paste">8.3 Копирование (Copy) и вставка (Paste)</a></li></ul></li></ul><h2><a name="intro">1 Введение</a></h2>
        
        
        <h3><a name="intro.def-x11">1.1 Что такое X11?</a></h3>
            
            <p> <a href="http://www.x.org/">X Window System</a>, версия
                11 (или сокращенно X11) является системой графического отображения с
                прозрачной для сети архитектурой клиент-сервер. Она позволяет
                приложениям графически создавать на экране пиксели, линии, тексты, изображения и т.п.
                X11 также имеет дополнительные библиотеки, благодаря которым
                приложения могут свободно рисовать интерфейсы пользователя - кнопки, поля для текста и
                т.п.</p>
            <p> X11 фактически является стандартной системой графического отображения в мире Unix.
                Она поставляется вместе с Linux, *BSD и большинством коммерческих вариантов Unix.
                На ее основе работают такие виды среды рабочего стола, как CDE, KDE и GNOME.</p>
        
        <h3><a name="intro.def-macosx">1.2 Что такое Mac OS X?</a></h3>
            
            <p>
                <a href="http://www.apple.com/macosx/">Mac OS X</a> - операционная система,
                производителем которой является <a href="http://www.apple.com/">Apple</a>. Как и
                предшествующие NeXTStep и OpenStep, она основана на BSD и таким образом
                входит в семейство операционных систем Unix. Но при этом она выпускается с
                системой графического отображения, являющейся частной собственностью. Графический процессор
                называется Quartz, а интерфейс Aqua, хотя оба названия
                часто используются как взаимозаменяемые.</p>
        
        <h3><a name="intro.def-darwin">1.3 Что такое Darwin?</a></h3>
            
            <p>
                <a href="http://opendarwin.org/">Darwin</a> по сути является
                упрощенной версией Mac OS X, которую можно получить бесплатно
                с полным исходным кодом. Она не содержит Quartz,
                Aqua и прочую сопутствующую технологию. По умолчанию она предлагает только
                текстовую консоль.</p>
        
        <h3><a name="intro.def-xfree86">1.4 Что такое XFree86?</a></h3>
            
            <p>
                <a href="http://www.xfree86.org/">XFree86</a> - реализация X11
                на основе исходного кода. Первоначально она была разработана для применения на
                ПК Intel x86, отсюда и ее название. В настоящее время применяется во многих архитектурах
                и операционных системах, в т.ч. OS/2, Darwin, Mac
                OS X и Windows.</p>
        
        <h3><a name="intro.def-xtools">1.5 Что такое Xtools?</a></h3>
            
            <p> Xtools - продукт <a href="http://www.tenon.com/">Tenon
                Intersystems</a>. Это версия X11 для Mac OS X, основанная на
                XFree86.</p>
        
        <h3><a name="intro.client-server">1.6 Клиент и сервер</a></h3>
            
            <p> X11 имеет архитектуру клиент-сервер. Есть одна центральная программа,
                которая фактически создает графику и координирует доступ через
                несколько приложений; это сервер. Приложение, желающее
                создать графику с применением X11, соединяется с сервером и дает указание, что именно надо
                нарисовать. В контексте X11 приложения называются клиентами.</p>
            <p> X11 позволяет серверу и клиентам находиться на разных машинах,
                в результате чего часто происходит путаница в терминах. В среде
                с рабочими станциями и серверами вы будете использовать сервер отображения X11
                на машине рабочей станции, а приложения
                (клиенты X) - на машине сервера. Таким образом, говоря
                "сервер", вы имеем в виду программу сервера отображения X11,
                а не машину, спрятанную в вашем шкафу. </p>
        
        <h3><a name="intro.rootless">1.7 Что означает "бескорневой" ("rootless")?</a></h3>
            
            <p> Немного предыстории: X11 моделирует экран в виде иерархии окон,
                находящихся одно в другом. В верхней части иерархии находится специальное окно
                размером с экран, вмещающее все другие
                окна. Оно содержит фон рабочего стола
                и называется "корневым окном".</p>
            <p> Теперь вернемся к нашей теме: Как и любая графическая среда, X11 написана
                для самостоятельной работы и полного управления экраном. В
                Mac OS X Quartz уже управляет экраном, т. обр. для одновременной работы обеих систем
                надо совершить определенные действия.</p>
            <p> Одно из возможных действий - позволить системам работать поочередно. Каждая среда
                получает в распоряжение весь экран, но в определенный момент времени видна только одна из них
                и пользователь может перемещаться между ними. Это
                называется полноэкранным или корневым режимом. Корневым - потому что есть
                абсолютно нормальное корневое окно на экране  X11, работающее также, как
                и в других системах.</p>
            <p> Другое действие - комбинирование окон двух видов среды.
                Это устраняет необходимость перемещения между экранами, а также
                избавляет от корневого окна X11, т.к. Quartz уже берет на себя заботу о
                фоне рабочего стола. Поскольку нет
                корневого (видимого)  окна, данный режим называется
                "бескорневым". Это наиболее удобный способ
                использования X11в Mac OS X.</p>
        
        <h3><a name="intro.wm">1.8 Что такое менеджер окон?</a></h3>
            
            <p> В большинстве видов графической среды вид рамок окон (строка
                заголовка, кнопка закрытия и т.д.) определяется системой. В X11 это
                решается иначе. Рамки окон (также называемые "декоративными обрамлениями") в X11
                обеспечиваются отдельной программой -
                менеджером окон. Во многих отношениях менеджер окон
                является просто еще одним клиентом; он запускается
                и общается с сервером X через те же каналы.</p>
            <p> Существует большой выбор разных менеджеров окон.
                    На сайте <a href="http://www.xwinman.org/">xwinman.org</a>
                имеется исчерпывающий список. Наиболее популярные из них позволяют пользователю
                настроить вид через т. наз. <a href="http://www.themes.org/">темы</a>. Многие менеджеры окон также
                обеспечивают такие дополнительные функции, как всплывающие меню в
                корневом окне, стыковки и кнопки запуска.</p>
            <p> Для Fink скомпилированы многие менеджеры окон  - см. <a href="http://pdb.finkproject.org/pdb/section.php/x11-wm">
                    текущий список.</a>
            </p>
        
        <h3><a name="intro.desktop">1.9 Что такое Quartz/Aqua, Gnome и KDE?</a></h3>
            
            <p> Это виды среды рабочего стола, в числе многих других. Их цель -
                обеспечение дополнительных границ для приложений, чтобы
                их вид и поведение были визуально последовательными. Пример:</p>
            <p> графический процессор : X11</p>
            <p> менеджер окон : <a href="http://sawmill.sourceforge.net/">sawfish</a>
            </p>
            <p> рабочий стол : <a href="http://www.gnome.org/">Gnome</a>
            </p>
            <p> Границы между графическим процессором, менеджером окон и рабочим
                столом размыты, т.к. схожая или одинаковая функция
                может быть реализована одним или несколькими из них. Это одна из причин того, почему
                отдельный менеджер окон может не работать с отдельной
                средой рабочего стола.</p>
            <p> Многие приложения разработаны для интеграции с отдельным рабочим столом.
                Чаще всего после инсталляции библиотек среды рабочего стола
                (и других базовых библиотек) разработанное для данной среды приложение
                работает с небольшими функциональными потерями или вовсе
                без них. Примером служит растущий <a href="http://pdb.finkproject.org/pdb/section.php/gnome">
                    выбор приложений GNOME</a>, которые можно
                инсталлировать и использовать без применения GNOME. К сожалению,
                    это <a href="http://www.finkproject.org/faq/usage-fink.php#kde">
                    достижение пока не распространяется </a>на <a href="http://www.kde.org/">приложения KDE.</a>
            </p>
        
    <h2><a name="history">2 История создания продукта</a></h2>
        
        
        
            <p>[Извините за эпический стиль, не смог устоять...]</p>
        
        <h3><a name="history.early">2.1 Отрочество</a></h3>
            
            <p> Вначале не было ничего. Darwin только появилась на свет, Mac
                OS X находилась на стадии разработки, а X11 еще не была создана.
            </p>
            <p> Затем появился Джон Кармак и перенес XFree86 в Mac OS X Server,
                которая была единственной на тот момент операционной системой в семействе Darwin.
                Впоследствии Дейв Зарзыки адаптировал этот перенос для XFree86 4.0 и
                Darwin 1.0 . Патчи нашли свое место в хранилище CVS
                Darwin и оставались там в ожидании грядущих событий.</p>
        
        <h3><a name="history.xonx-forms">2.2 Формы XonX</a></h3>
            
            <p> В один прекрасный день появился Торри Т. Лайонс и патчам Darwin
                было наконец уделено внимание, которого они так ждали. Наконец-то он
                перенес их в их новый дом - официальное хранилище CVS XFree86.
                Это было время, когда Mac OS X Public Beta и Darwin 1.2.
                XFree86 4.0.2 прекрасно работали в Darwin, но Mac OS X требовала, чтобы
                пользователи завершали работу в Aqua и переходили к консоли для выполнения действий.
                Торри собрал вокруг себя <a href="http://mrcla.com/XonX/">команду XonX
                </a> и отправился в путешествие, чтобы доставить XFree86
                в Mac OS X.</p>
            <p> Примерно в то же время Tenon начала построение Xtools с использованием
                XFree86 4.0 в качестве основы.</p>
        
        <h3><a name="history.root-or-not">2.3 Быть иль не быть корневым?</a></h3>
            
            <p> Вскоре команда XonX добилась реализации XFree86 в полноэкранном режиме
                параллельно Quartz и предоставляла пробные версии авантюрным
                пользователям. Пробные версии назывались XFree86-Aqua или
                сокращенно XAqua. Поскольку Торри возглавлял работу, изменения отражались
                непосредственно в хранилище CVS XFree86, что привело к
                выпуску версии 4.1.0.</p>
            <p> Сначала сопряжение с Quartz осуществлялось через
                небольшое приложение Xmaster.app (написанное в Carbon и затем
                переписанное в Cocoa). Впоследствии этот код был встроен в сам сервер X
                и породил приложение XDarwin.app. В этот же период была добавлена
                поддержка общей библиотеки (и Tenon была убеждена в использовании
                этого комплекта патчей вместо собственных патчей для обеспечения бинарной
                совместимости). Был достигнут явный прогресс в бескорневом режиме
                (с использованием Carbon API), но увы - было слишком поздно для его включения в
                XFree86 4.1.0. Бескорневой патч оказался на свободе и продолжил свое
                плавание по сети. После XFree86 4.1.0, выпущенной с полноэкранным режимом,
                работа надо бескорневым режимом продолжилась, теперь уже
                с использованием Cocoa API. Экспериментальный бескорневой режим был внесен в хранилище
                CVS XFree86.</p>
            <p>Тем временем Apple выпустила Mac OS X 10.0 и Darwin 1.3,
                а несколько недель спустя Tenon выпустила Xtools 1.0.</p>
            <p>Был продолжена работа по интеграции бескорневого режима  в
                XFree86, и таким образом ко времени выпуска XFree86 4.2.0 в январе
                2002 г. версия Darwin/Mac OS X была полностью интегрирована в
                основную дистрибуцию XFree86.</p>
        
    <h2><a name="inst-xfree86">3 Получение и инсталляция XFree86</a></h2>
        
        
        <h3><a name="inst-xfree86.fink">3.1 Инсталляция через Fink</a></h3>
            
            <p> Fink позволит вам инсталлировать X11 любым желательным для вас образом, в то же время предоставив
                собственные пакеты XFree86. С помощью команды <tt style="white-space: nowrap;">fink
                    install ...</tt> Fink скачает исходный код и скомпилирует
                его на вашем компьютере. Если вы используете <tt style="white-space: nowrap;">apt-get install
                ...</tt> или <tt style="white-space: nowrap;">dselect</tt>, скачаются предварительно
                скомпилированные бинарные пакеты, аналогичные официальной дистрибуции XFree86.</p>
            <p> Пакет <tt style="white-space: nowrap;">xfree86-base</tt> содержит всю XFree86
                4.2.1.1 (4.2.0 для пользователей 10.1), кроме сервера XDarwin. Пакет
                <tt style="white-space: nowrap;">xfree86-rootless</tt> является сервером стандартной стабильной
                версии XFree86 4.2.1.1. Он поддерживает как полноэкранную, так и
                бескорневую работу, а также имеет поддержку OpenGL. (Когда-то в самом
                начале у Fink также был пакет <tt style="white-space: nowrap;">xfree86-server</tt>,
                обеспечивавший полноэкранный режим, но этой опции больше
                нет.) У вас также есть возможность инсталлировать
                сервер самостоятельно - см. ниже. Только в этом случае надо
                инсталлировать <tt style="white-space: nowrap;">xfree86-base</tt>, иначе появится риск, что Fink
                сделает перезапись вашего вручную инсталлированного сервера. Имейте в виду, что текущая
                стабильная версия <tt style="white-space: nowrap;"> xfree86-base</tt> (4.2.1.1-3)
                генерирует <tt style="white-space: nowrap;">xfree86-rootless</tt>,
                <tt style="white-space: nowrap;">xfree86-base-shlibs</tt> и
                <tt style="white-space: nowrap;">xfree86-rootless-shlibs</tt> в процессе построения.
                При этом вам надо иметь все четыре инсталлированных пакета, чтобы
                настройки XFree86 работали.</p>
            <p>Связные пакеты <tt style="white-space: nowrap;"> xfree86-base-threaded</tt> и
                <tt style="white-space: nowrap;">xfree86-rootless-threaded</tt> по сути являются тем же самым,
                но модифицированы для поддержки связности, требуемой
                несколькими приложениями - такими, как <tt style="white-space: nowrap;">xine</tt>.</p>
            <p>XFree86 4.2.11 (несвязная) считается стабильной базовой
                версией XFree86 для использования с Fink в 10.2. Также имеется XFree86 4.3.0,
                но она считается более экспериментальной; на данный момент 
                только она представлена на нестабильном дереве .
                Она имеет интегрированную связную поддержку и работает быстрее, чем 4.2.1.1.
                Для инсталляции этой версии надо инсталлировать пакет
                <tt style="white-space: nowrap;">xfree86</tt>. Имейте в виду, что для этой версии
                больше нет отдельных базовых и бескорневых пакетов, хотя
                библиотеки и распределены в <tt style="white-space: nowrap;">xfree86-shlibs</tt>. Если
                вы строите бинарные пакеты на основе 4.3, предупреждаем, что они могут
                не работать в 4.2.1.1 или X11 Apple.</p>
            <p>
                <b>Для пользователей 10.3:</b> Вам надо инсталлировать
                4.3.99.16-2 или более позднюю версию, которые являются предварительными выпусками XFree86-4.4.
                Если вы работаете на основе бинарной дистрибуции, убедитесь, что
                описание пакетов обновлено (н-р, через <tt style="white-space: nowrap;">sudo apt-get update</tt>).</p>
        
        <h3><a name="inst-xfree86.apple-binary">3.2 Бинарные файлы Apple</a></h3>
            
            <p> 7 января 2003 г. Apple выпустила <a href="http://www.apple.com/macosx/x11/">специальную реализацию X11
                    на основе XFree86-4.2</a>, включающую визуализацию
                Quartz и ускоренную OpenGL. Следующая новая версия вышла
                10 февраля 2003 г. с дополнительными характеристиками и
                корректировками. Третья версия (Beta 3) вышла 17 марта
                2003 г. с дальнейшими дополнительными характеристиками и корректировками. Эта версия
                может использоваться в Jaguar.</p>
            <p>24 октября 2003 г. Apple выпустила Panther (10.3), включающую
                версию ее дистрибуции X11. Эта версия
                основана на XFree86-4.3.</p>
            <p> Перед использованием бинарных файлов Apple надо удостовериться, что инсталлирован пакет <b>X11
                User</b>, а также <a href="http://www.finkproject.org/doc/users-guide/upgrade.php">обновить</a> Fink.</p>
            <p>Для версии <tt style="white-space: nowrap;">fink-0.16.2</tt> вам надо будет также инсталлировать пакет
                    <b>X11 SDK</b>. После этого Fink
                создаст виртуальный пакет <tt style="white-space: nowrap;">system-xfree86</tt>.</p>
            <p>В случае <tt style="white-space: nowrap;">fink-0.17.0</tt> и более поздних версий необходима лишь инсталляция X11 SDK,
                если вы хотите построить пакеты от исходного кода. В подобном случае,
                даже если у вас не будет SDK, будут виртуальные пакеты
                <tt style="white-space: nowrap;">system-xfree86</tt> и
                <tt style="white-space: nowrap;">system-xfree86-shlibs</tt>, причем последний будет представлять
                общие библиотеки. Если вы инсталлируете SDK,
                также будет пакет <tt style="white-space: nowrap;">system-xfree86-dev</tt>,
                представляющий заголовки.</p>
            <p> Если у вас уже инсталлирована дистрибуция XFree86 - через
                Fink или иным образом - можно выполнить <a href="#inst-xfree86.switching-x11">Инструкции
                    по замене одного пакета X11 другим пакетом</a>. Удалите
                существующий пакет, а затем инсталлируйте X11 Apple
                (и X11 SDK, если это необходимо или желательно).</p>
            <p> Некоторые примечания по использованию X11 Apple:</p>
            <ul>
                <li>
                    <p>Пакет <tt style="white-space: nowrap;">autocutsel</tt> больше не нужен.
                        Если вы запускаете X11, а этот пакет активирован, надо
                        его дезактивировать.</p>
                </li>
                <li>
                    <p>X11 Apple использует ваш существующий файл
                        <tt style="white-space: nowrap;">~/.xinitrc</tt>. Если вы хотите
                        получить полноценный эффект от интеграции Quartz , надо использовать
                        <tt style="white-space: nowrap;">/usr/X11R6/bin/quartz-wm</tt> в качестве
                        менеджера окон или полностью удалить
                        <tt style="white-space: nowrap;">~/.xinitrc</tt>.</p>
                    <p>Если вам нужна только интеграция копирования в буфер и вставки из него, но при этом вы хотите
                        использовать другой менеджер окон, можно сделать как в
                        следующем примере:</p>
                    <pre>/usr/X11R6/bin/quartz-wm --only-proxy &amp;
                        exec /sw/bin/fvwm2</pre>
                    <p>Разумеется, можно сделать вызов другого менеджера окон, н-р,
                        <tt style="white-space: nowrap;">startkde</tt> и т.д.</p>
                </li>
                <li>
                    <p>
                        <tt style="white-space: nowrap;">quartz-wm</tt> не полностью поддерживает опции менеджера окон
                        Gnome/KDE, поэтому вы можете столкнуться с его
                        странным поведением в окнах, которые имеют декоративные обрамления, тогда как
                        не должны их иметь.</p>
                </li>
                <li>
                    <p>X11 Apple не признает настройки среды Fink по
                        умолчанию. Для вызова приложений запуска, инсталлированных
                        при помощи fink (н-р, менеджеров окон,
                        gnome-session и других в
                        <tt style="white-space: nowrap;">/sw/bin</tt>), внесите следующее
                        в верхней части <tt style="white-space: nowrap;">~/.xinitrc</tt> (т.е.
                        после
                        "<tt style="white-space: nowrap;">#!/bin/sh</tt>", но
                        перед запуском любой программы):</p>
                    <pre> . /sw/bin/init.sh</pre>
                    <p>чтобы запустить среду Fink. Примечание: лучше использовать
                        <tt style="white-space: nowrap;">init.sh</tt>, чем
                        <tt style="white-space: nowrap;">init.csh</tt>, поскольку
                        <tt style="white-space: nowrap;">.xinitrc</tt> лучше выполняется посредством
                        <tt style="white-space: nowrap;">sh</tt>, чем <tt style="white-space: nowrap;">tcsh</tt>.</p>
                </li>
                <li>
                    <p>Приложения, требующие для выполнения некоторых своих функций вызова других программ,
                        находящихся в пределах вашего дерева Fink,
                        требуют особого обращения при их вовлечении в работу путем вызова
                        из меню приложений. Вместо добавления одного только
                        полного маршрута к имени файла, н-р:</p>
                    <pre>/sw/bin/emacs</pre>
                    <p>лучше использовать что-то вроде следующего, если
                        вы используете bash в качестве оболочки по умолчанию:</p>
                    <pre>. /sw/bin/init.sh ; emacs</pre>
                    <p>или, если вы используете tcsh:</p>
                    <pre>source /sw/bin/init.csh ; emacs</pre>
                    <p>Это обеспечивает правильный PATH
                        приложения. Можно использовать этот синтаксис для любого
                        приложения, инсталлированного при помощи Fink.</p>
                </li>
                <li>
                    <p>Если вы пытаетесь построить пакет вручную на основе
                        X11 Apple и получаете следующее сообщение об ошибке:</p>
                    <pre>ld: err.o illegal reference to symbol:
                        _XSetIOErrorHandler defined in indirectly referenced
                        dynamic library /usr/X11R6/lib/libX11.6.dylib</pre>
                    <p>надо проверить наличие <tt style="white-space: nowrap;">-lX11</tt>
                        в процессе связывания. Просмотрите опции конфигурации своего
                        пакета, чтобы увидеть, как обеспечить этот дополнительный параметр.</p>
                </li>
                <li>
                    <p>Если вы используете пакет <tt style="white-space: nowrap;">xfree86</tt> и затем
                        переходите на X11 Apple (10.2.x или 10.3.x), из-за несовместимости бинарных файлов надо заново построить все пакеты,
                        созданные до этого с помощью <tt style="white-space: nowrap;">xfree86</tt>.
                        </p>
                </li>
            </ul>
        
        <h3><a name="inst-xfree86.official-binary">3.3 Официальные бинарные файлы</a></h3>
            
            <p> В проекте XFree86 есть официальная бинарная дистрибуция
                XFree86 4.2.0, которую можно обновить до 4.2.1.1 с патчами.
                Ее можно найти на локальном зеркале <a href="http://www.xfree86.org/MIRRORS.shtml">XFree86
                mirror</a> в каталоге
                <tt style="white-space: nowrap;">4.2.0/binaries/Darwin-ppc-5.x</tt>. Убедитесь в получении тарболов
                <tt style="white-space: nowrap;">Xprog.tgz</tt> и
                <tt style="white-space: nowrap;">Xquartz.tgz</tt>, даже если они отмечены как
                необязательные. Если вы не уверены в том, что именно вам нужно, просто скачайте
                весь каталог. Выполните скрипт
                <tt style="white-space: nowrap;">Xinstall.sh</tt> в качестве суперпользователя для
                инсталляции всего материала. (Рекомендуем прочитать <a href="http://www.xfree86.org/4.2.0/Install.html">Официальные инструкции
                </a> перед инсталляцией.) Если хотите, можете
                использовать <a href="http://prdownloads.sourceforge.net/xonx/XInstall_10.1.sit?download">binary</a>
                из XonX, использующий идентичный, но более легкий в применении исходный код. Тем или иным образом
                скачайте, разархивируйте и сделайте следующие обновления:</p>
            <ol>
                <li>для 10.1: <a href="http://prdownloads.sourceforge.net/xonx/XFree86_4.2.0.1-10.1.zip?download">4.2.0
                        -&gt; 4.2.0.1 upgrade</a>. для 10.2: <a href="http://prdownloads.sourceforge.net/xonx/XFree86_4.2.0.1-10.2.zip?download">4.2.0
                        -&gt; 4.2.0.1 upgrade</a>
                </li>
                <li>для 10.1 и 10.2: <a href="http://prdownloads.sourceforge.net/xonx/XFree86_4.2.1.1.zip?download">4.2.0.1
                        -&gt; 4.2.1.1 upgrade</a>
                </li>
            </ol>
            <p>Также существует официальная дистрибуция XFree86 4.3.0 на
                <a href="http://www.xfree86.org/MIRRORS.shtml">XFree86
                    mirrors</a> в каталоге
                <tt style="white-space: nowrap;">4.3.0/binaries/Darwin-ppc-6.x</tt>. Убедитесь в получении тарболов
                <tt style="white-space: nowrap;">Xprog.tgz</tt> и
                <tt style="white-space: nowrap;">Xquartz.tgz</tt>, даже если они отмечены как
                необязательные. Если вы не уверены в том, что именно вам нужно, просто скачайте
                весь каталог. Выполните скрипт
                <tt style="white-space: nowrap;">Xinstall.sh</tt> в качестве суперпользователя для
                инсталляции всего материала. (Рекомендуем прочитать <a href="http://www.xfree86.org/4.3.0/Install.html">Официальные инструкции
                </a> перед инсталляцией.) </p>
            <p>Независимо от установленной версии, теперь вы имеете XFree86 с
                сервером для полноэкранного либо бескорневого режима работы в Mac OS X.</p>
        
        <h3><a name="inst-xfree86.official-source">3.4 Официальный исходный код</a></h3>
            
            <p> Если у вас есть свободное время, можно построить XFree86 4.2.0
               от исходного кода. Исходный код можно найти на локальном зеркале <a href="http://www.xfree86.org/MIRRORS.shtml">XFree86
                mirror</a> в каталоге <tt style="white-space: nowrap;">4.2.0/source</tt>. Скачайте все три тарбола
                 <tt style="white-space: nowrap;">X420src-#.tgz</tt> и извлеките их
                в одном каталоге. Можно установить собственные настройки для построения,
                внеся макроопределения в
                файл <tt style="white-space: nowrap;">config/cf/host.def</tt> на дереве исходного кода XFree86.
                

                
                См. <tt style="white-space: nowrap;">config/cf/darwin.cf</tt> для получения подсказок.
                (Прим.: Только макросы с пометкой #ifndef
                могут быть перезаписаны в host.def.)</p>
            <p> Когда конфигурация будет вас удовлетворять, скомпилируйте и инсталлируйте
                XFree86 посредством следующих команд:</p>
            <pre>make World sudo make install install.man</pre>
            <p>Для обновления до 4.2.1.1 надо следовать инструкциям раздела <a href="#inst-xfree86.official-binary">Официальные бинарные файлы</a>.</p>
            <p>Для инсталляции 4.3.0 надо следовать вышеуказанным инструкциям, заменив
                "2" на "3", но не надо выполнять
                процедуру обновления 4.2.1.1.</p>
            <p> Как и в случае с официальными бинарными файлами, теперь у вас есть XFree86 с
                сервером, который может обеспечивать полноэкранный или бескорневой режим в Mac OS X.</p>
        
        <h3><a name="inst-xfree86.latest-cvs">3.5 Исходный код на основе последних разработок</a></h3>
            
            <p> Если вы располагаете не только временем, но и запасом нервных клеток, можно
                получить последнюю разработку версии XFree86 из общего хранилища
                CVS. Предупреждаем, что код находится в процессе постоянного
                развития; сегодняшний код обычно отличается от вчерашнего.
                </p>
            <p> Для выполнения инсталляции следуйте инструкциям относительно <a href="http://www.xfree86.org/cvs/">CVS XFree86</a>
                для скачивания модуля <tt style="white-space: nowrap;">xc</tt>.
                Затем надо выполнить инструкции по построению, указанные выше.</p>
        
        
        <h3><a name="inst-xfree86.macgimp">3.6 MacGimp</a></h3>
            
            <p> Скачиваемый инсталлятор, предложенный разработчиками MacGimp
                в 2001 г., не содержал XFree86. (Впрочем, он сделал бы
                перезапись некоторых файлов конфигурации XFree86.)</p>
            <p> Компакт-диск, продаваемый <a href="http://www.macgimp.com/">MacGimp,
                Inc.</a>, якобы содержит XFree86. Не совсем понятно,
                какая это версия; это может быть смесь 4.0.3,
                4.1.0 и собственной разработки. Сервер обеспечивает работу в бескорневом режиме
                с использованием патча, созданного до 4.1.0.</p>
        
        
        <h3><a name="inst-xfree86.switching-x11">3.7 Замена X11</a></h3>
            
            <p> Если у вас инсталлирован один из пакетов Fink X11, но по какой-либо причине
                надо его удалить и заменить другим,
                выполняется прямолинейная процедура.
                Надо принудительно удалить старый пакет и затем инсталлировать
                новый, чтобы поддержать последовательность базы данных dpkg.</p>
            <p> Выполнить это можно двумя способами:</p>
            <ol>
                <li>
                    <p>Использовать FinkCommander</p>
                    <p> Если вы используете <a href="http://finkcommander.sourceforge.net/">FinkCommander</a>,
                        можно сделать принудительное удаление ("force remove") через меню. Например, если
                        у вас инсталлирован <tt style="white-space: nowrap;">xfree86-rootless</tt>,
                        а вы хотите установить связную версию, надо выделить пакеты
                        <tt style="white-space: nowrap;">xfree86-rootless</tt>,
                        <tt style="white-space: nowrap;">xfree86-rootless-shlibs</tt>,
                        <tt style="white-space: nowrap;">xfree86-base</tt> и
                        <tt style="white-space: nowrap;">xfree86-base-shlibs</tt> и применить
                         </p>
                    <pre>Source -&gt; Force Remove</pre>
                </li>
                <li>
                    <p>Удалить вручную со строки команд</p>
                    <p> Надо применить
                        <tt style="white-space: nowrap;">dpkg</tt> с опцией --force-depends,
                        н-р: </p>
                    <pre>sudo dpkg -r --force-depends xfree86-rootless\
                        xfree86-rootless-shlibs xfree86-base xfree86-base-shlibs</pre>
                    <p> Имейте в виду, что если у вас есть приложения, требующие связной версии пакета
                        XFree86, могут возникнуть проблемы с базой данных dpkg, если вы
                        принудительно удаляете его и инсталлируете другой пакет XFree86
                        или заполнителя. </p>
                </li>
            </ol>
            <p>Версию X11, инсталлированную не через
                Fink, удаляют со строки команд:</p>
            <pre>sudo rm -rf /usr/X11R6 /etc/X11</pre>
            <p>Вышеуказанное относится к удалению любого параметра X11, инсталлированного не
                через Fink. Вам надо будет также удалить
                <tt style="white-space: nowrap;">XDarwin.app</tt> |<tt style="white-space: nowrap;">X11.app</tt>,
                в зависимости от того, что инсталлировано. При удалении X11 Apple проверьте свой файл
                <tt style="white-space: nowrap;">.xinitrc</tt>, чтобы убедиться, что
                вы не пытаетесь использовать
                <tt style="white-space: nowrap;">quartz-wm</tt>. Затем можно инсталлировать любую нужную вам
                X11, вручную или через Fink.</p>
        
        <h3><a name="inst-xfree86.fink-summary">3.8 Обзор пакетов Fink</a></h3>
            
            <p> Краткий обзор видов инсталляции и пакетов Fink, которые вам надо инсталлировать: 
                </p>
            <table border="0" cellpadding="0" cellspacing="10"><tr valign="bottom"><th align="left">Вид инсталляции</th><th align="left">Пакеты Fink</th></tr><tr valign="top"><td>4.2.x  при помощи Fink</td><td>
                        <p>
                            <tt style="white-space: nowrap;">xfree86-base</tt> и
                            <tt style="white-space: nowrap;">xfree86-rootless</tt> (и их <tt style="white-space: nowrap;">-shlibs</tt>)</p>
                        <p>или <tt style="white-space: nowrap;">xfree86-base-threaded</tt> и
                            <tt style="white-space: nowrap;">xfree86-rootless-threaded</tt> (и <tt style="white-space: nowrap;">-shlibs</tt>)</p>
                    </td></tr><tr valign="top"><td>4.3.x при помощи Fink</td><td>
                        <p>
                            <tt style="white-space: nowrap;">xfree86</tt> и <tt style="white-space: nowrap;">xfree86-shlibs</tt>
                        </p>
                    </td></tr><tr valign="top"><td>4.x на основе официальных бинарных файлов  </td><td>
                        <p>
                            только <tt style="white-space: nowrap;">system-xfree86</tt> (+разделители)</p>
                    </td></tr><tr valign="top"><td>4.x на основе исходного кода или последнего исходного кода CVS</td><td>
                        <p>
                            только <tt style="white-space: nowrap;">system-xfree86</tt> (+разделители)</p>
                    </td></tr><tr valign="top"><td>4.2.x от Apple</td><td>
                        <p>
                            только <tt style="white-space: nowrap;">system-xfree86</tt> (+разделители)</p>
                    </td></tr><tr valign="top"><td>4.3.x от Apple</td><td>
                        <p>
                            только <tt style="white-space: nowrap;">system-xfree86</tt> (+разделители)</p>
                    </td></tr></table>
        
    <h2><a name="run-xfree86">4 Запуск XFree86</a></h2>
        
        
        <h3><a name="run-xfree86.darwin">4.1 Darwin</a></h3>
            
            <p> В чистой Darwin XFree86 ведет себя также, как в других продуктах Unix.
                Обычный способ запуска - через <tt style="white-space: nowrap;">startx</tt> с консоли;
                запускается сервер и некоторые исходные клиенты, такие,
                как менеджер окон и терминальный эмулятор с оболочкой.  В чистой
                Darwin не требуется уточнять параметры, достаточно
                просто напечатать:</p>
            <pre>startx</pre>
            <p> Можно сделать настройки запуска в нескольких файлах
                в своем базовом каталоге. <tt style="white-space: nowrap;">.xinitrc</tt> управляет очередностью
                запуска клиентов. <tt style="white-space: nowrap;">.xserverrc</tt> управляет
                опциями сервера и даже может запускать другой сервер. В случае возникновения проблем
                (н-р, появится пустой экран или XFree86
                переместит вас обратно к консоли) их можно исправить
                путем удаления этих файлов. Если не удается найти эти файлы при помощи
                <tt style="white-space: nowrap;">startx</tt>, в действие вступают безотказные настройки по
                умолчанию.</p>
            <p> В качестве альтернативы можно запустить сервер напрямую при помощи
                одной из опций XDMCP, н-р:</p>
            <pre>X -query remotehost</pre>
            <p> Подробную информацию можно найти на странице руководства <tt style="white-space: nowrap;">Xserver</tt>.
                </p>
            <p> Наконец, можно настроить <tt style="white-space: nowrap;">xdm</tt>; см.
                страницу руководства.</p>
            <p> Прим.: Если вы используете Mac OS X, предшествующую Panther, можно напечатать
                <tt style="white-space: nowrap;">&gt;console</tt> в окне регистрации и получить
                текстовую консоль, эквивалентную чистой Darwin. Если вы не видите
                области для ввода имени пользователя в окне регистрации,
                просто напечатайте начальную букву любого имени пользователя и затем нажмите
                alt-return. Можно использовать все методы запуска,
                описанные выше, кроме <tt style="white-space: nowrap;">xdm</tt>.</p>
            <p> Прим.: При использовании Mac OS X Panther вы не сможете запускать
                XFree86 из окна консоли.</p>
        
        <h3><a name="run-xfree86.macosx-41">4.2 Mac OS X + XFree86 4.x.y</a></h3>
            
            <p> Есть два основных способа запустить XFree86 в Mac OS X.
                Первый: двойным щелчком на приложении XDarwin.app в каталоге
                приложений. Это позволит сделать выбор между полноэкранным и бескорневым режимом
                в диалоге при запуске. Можно дезактивировать диалог
                и настроить XDarwin на постоянное использование выбранного вами режима
                в диалоге параметров.</p>
            <p> До выпуска 4.2.0 это действие автоматически активировало полноэкранный режим
                и не было способа активации бескорневого режима двойным щелчком.</p>
            <p> Другой способ запуска XFree86 в Mac OS X:
                при помощи <tt style="white-space: nowrap;">startx</tt> из Terminal.app. При запуске сервера таким образом
                надо указать, что он должен работать параллельно
                Quartz. Это можно сделать при помощи опции <tt style="white-space: nowrap;">-fullscreen</tt>,
                н-р:</p>
            <pre>startx -- -fullscreen</pre>
            <p> Таким образом происходит запуск сервера в полноэкранном режиме, а также
                клиентов в <tt style="white-space: nowrap;">.xinitrc</tt>.</p>
            <p> ПРИМЕЧАНИЕ: до выпуска 4.2 для активации полноэкранного режима применяли <tt style="white-space: nowrap;">-quartz</tt>.</p>
            <p> Если ваш сервер поддерживает бескорневые операции, можно
                запустить его в бескорневом режиме при помощи опции <tt style="white-space: nowrap;">-rootless</tt>:</p>
            <pre>startx -- -rootless</pre>
            <p> Опция <tt style="white-space: nowrap;">-quartz</tt> больше не активирует полноэкранный режим, а
                использует режим по умолчанию, определенный в параметрах.</p>
            <p>Что касается 4.3, если вы используете <tt style="white-space: nowrap;">startx</tt> без настройки параметров, появляется
                окно диалога запуска.</p>
        
        <h3><a name="run-xfree86.xinitrc">4.3 Файл .xinitrc</a></h3>
            
            <p> Если в вашем базовом каталоге имеется файл с именем <tt style="white-space: nowrap;">.xinitrc</tt>,
                он будет использоваться для запуска некоторых исходных клиентов X,
                н-р, менеджера окон, некоторых xterms или среды рабочего стола типа
                GNOME. Файл <tt style="white-space: nowrap;">.xinitrc</tt> является скриптом оболочки,
                содержащим команды для выполнения указанного. <b>Не</b>
                надо указывать <tt style="white-space: nowrap;">#!/bin/sh</tt> в первой строке
                и настраивать выполняемый бит в имени файла; xinit знает, как
                запустить его через оболочку.</p>
            <p> Если в вашем базовом каталоге нет файла <tt style="white-space: nowrap;">.xinitrc</tt>,
                XFree86 использует по умолчанию свой файл
                <tt style="white-space: nowrap;">/private/etc/X11/xinit/xinitrc</tt>. Можно использовать
                файл по умолчанию в качестве отправной точки для собственного .xinitrc:</p>
            <pre>cp /private/etc/X11/xinit/xinitrc ~/.xinitrc</pre>
            <p> Если вы используете Fink, надо поместить
                <tt style="white-space: nowrap;">init.sh</tt> в самом начале для
                обеспечения правильности настроек среды.</p>
            <p> Вы можете внести произвольные команды в
                <tt style="white-space: nowrap;">.xinitrc</tt>, но здесь надо кое-что пояснить.
                Во-первых, интерпретирующая файл оболочка по умолчанию будет ждать
                завершения работы каждой отдельной программы, прежде чем запустить следующую. Если
                вы хотите, чтобы несколько программ работали параллельно, надо приказать оболочке
                поместить их "на задний план", добавив
                <tt style="white-space: nowrap;">&amp;</tt> в конце строки.</p>
            <p> Во-вторых, <tt style="white-space: nowrap;">xinit</tt> ждет, пока скрипт
                <tt style="white-space: nowrap;">.xinitrc</tt> закончит работу и интерпретирует окончание работы
                таким образом: "сеанс завершен, теперь я также должен уничтожить сервер X
                ". Это значит, что последняя команда вашего файла
                 <tt style="white-space: nowrap;">.xinitrc</tt> не должна выполняться на
                заднем плане, а должна быть программой длительного действия. Обычно
                для этой цели используется менеджер окон. Вообще,
                менеджеры окон предполагают, что <tt style="white-space: nowrap;">xinit</tt> ждет окончания их
                работы и используют это для ввода записи о "завершении
                сеанса" в работу их меню. (Прим.: Для сохранения
                циклов ОЗУ и центрального процессора можно указать <tt style="white-space: nowrap;">exec</tt> перед
                последней строкой, как в примере ниже.)</p>
            <p> Простой пример запуска GNOME:</p>
            <pre>. /sw/bin/init.sh exec gnome-session</pre>
            <p>Более сложный пример для пользователей bash, который отключает X11,
                делает запуск некоторых клиентов и в конце концов менеджера окон Enlightenment:
                </p>
            <pre>. /sw/bin/init.sh xset b off xclock -geometry -0+0
                &amp; xterm &amp; xterm &amp; exec enlightenment</pre>
            <p>Для запуска GNOME 2.2 в X11 Apple используйте следующую последовательность:</p>
            <pre>. /sw/bin/init.sh quartz-wm --only-proxy &amp;
                metacity &amp; exec gnome-session</pre>
            <p>При запуске GNOME 2.4 в X11 Apple metacity запускается автоматически,
                и таким образом последовательность следующая:</p>
            <pre>. /sw/bin/init.sh quartz-wm --only-proxy &amp; exec gnome-session</pre>
            <p>Для запуска KDE 3.2 (версия &lt; 3.2.2-21) в X11 Apple используйте</p>
            <pre>. /sw/bin/init.sh export KDEWM=kwin quartz-wm
                --only-proxy &amp; /sw/bin/startkde &gt;/tmp/kde.log 2&gt;&amp;1</pre>
            <p>Наконец, для запуска последней нестабильной версии KDE в
                X11 Apple:</p>
            <pre>. /sw/bin/init.sh /sw/bin/startkde &gt;/tmp/kde.log 2&gt;&amp;1</pre>
        
    <h2><a name="xtools">5 Xtools</a></h2>
        
        
        <h3><a name="xtools.install">5.1 Инсталляция Xtools</a></h3>
            
            <p> Теперь это легко изменить. Получите инсталлятор, дважды щелкните на нем и
                следуйте инструкциям. Внимательно выберите объем запуска, когда
                об этом появится запрос.</p>
            <p> При использовании Fink надо инсталлировать
                пакет <tt style="white-space: nowrap;">system-xtools</tt> после инсталляции
                Xtools. Этот пакет не инсталлирует никакие файлы, а просто
                проверяет наличие библиотек и т.п., а также действует в качестве заполнителя в
                системе зависимостей Fink.</p>
        
        <h3><a name="xtools.run">5.2 Запуск Xtools</a></h3>
            
            <p> Для запуска Xtools надо дважды щелкнуть на Xtools.app в каталоге
                приложений. Как и XFree86, Xtools производит запуск клиентов, указанных вами в
                файле <tt style="white-space: nowrap;">.xinitrc</tt>. Помимо этого, Xtools
                позволяет делать запуск клиентов через меню.</p>
        
        <h3><a name="xtools.opengl">5.3 Примечания в связи с OpenGL</a></h3>
            
            <p> Xtools применяет аппаратное ускорение OpenGL в бескорневом режиме и
                имеет библиотеки для его поддержки. Основная библиотека libGL
                очень хорошая, тогда как библиотеки libGLU и libglut представлены только в
                статическом виде, чего недостаточно для полной бинарной совместимости
                с XFree86. Кроме того, не хватает некоторых заголовков.
                На данный момент Fink не может предложить решения этой проблемы. Будем надеяться, что
                она будет решена в Xtools 1.1.</p>
        
    <h2><a name="other">6 Другие возможности X11</a></h2>
        
        
        <h3><a name="other.vnc">6.1 VNC</a></h3>
            
            <p> VNC - система графики с сетевой архитектурой, аналогичной
                X11 по дизайну. При этом она работает на более низком уровне, что
                облегчает ее реализацию. С сервером Xvnc и клиентом отображения Mac OS X
                можно использовать приложения X11 в Mac
                OS X. Страница Джеффа Уайтейкера <a href="http://www.cdc.noaa.gov/~jsw/macosx_xvnc/">Xvnc
                </a> рассказывает об этом более подробно.</p>
        
        <h3><a name="other.wiredx">6.2 WiredX</a></h3>
            
            <p>
                <a href="http://www.jcraft.com/wiredx/">WiredX</a> - сервер
                X11, написанный на языке Java. Он также поддерживает бескорневой режим. Его веб-сайт предоставляет пакет
                Installer.app.</p>
        
        <h3><a name="other.exodus">6.3 eXodus</a></h3>
            
            <p> Согласно своему веб-сайту, <a href="http://www.powerlan-usa.com/exodus/">eXodus 8</a> от
                Powerlan USA работает в Mac OS X. Неизвестно, какую
                кодовую базу он использует, предоставляет ли поддержку локальным клиентам и если да, то каким образом.
                По этой причине Fink не обеспечивает специальную поддержку, предназначенную для eXodus.
                Если у вас есть более подробная информация, просим сообщить нам.</p>
        
    <h2><a name="trouble">7 Устранение проблем, возникших в связи с XFree86</a></h2>
        
        
        <h3><a name="trouble.immedate-quit">7.1 При запуске XDarwin она практически сразу завершает работу или зависает</a></h3>
            
            <p> Прежде всего: не паникуйте! Есть масса вещей, которые плохо работают с
                XFree86, и многие из них могут вызывать сбои при
                запуске. Кроме того, нет ничего необычного в том, что XDarwin прекращает работу,
                когда сталкивается в проблемами запуска. В данном разделе мы попытаемся отразить все
                проблемы, с которыми вы можете столкнуться. Но прежде всего
                вам надо собрать всю необходимую информацию:</p>
            <p>
                <b>Версия XDarwin.</b> Вы можете найти версию XDarwin в искателе
                (Finder), щелкнув <b>один раз</b> на иконке XDarwin и выделив
                "Show Info" в меню. Версия отражает возрастающие номера
                новых пробных бинарных версий в рамках проекта
                XonX, и таким образом "1.0a1" фактически может быть
                любой версией между 1.0a1 и 1.0a2.</p>
            <p>
                <b>Сообщения об ошибках.</b> Далее даны основные виды точного описания
                отдельных возникающих проблем. От вашего способа запуска XDarwin зависит
                форма получения сообщения об ошибке. Если вы запускаете
                <tt style="white-space: nowrap;">startx</tt> из терминального окна, сообщение появится непосредственно в этом
                окне. Не забывайте, что можно использовать прокрутку.
                Если вы запускаете XDarwin при помощи двойного щелчка на иконке,
                сообщение поступит в системный журнал, к которому вы можете получить доступ
                через приложение консоли в каталоге утилит. Убедитесь, что
                выбираете правильный (т.е. последний) набор сообщений.</p>
            <p> Начнем со списка сообщений, которые вы можете увидеть:</p>
            <pre>_XSERVTransmkdir: Owner of /tmp/.X11-unix should be set
                to root</pre>
            <pre>_IceTransmkdir: Owner of /tmp/.ICE-unix should be set to root</pre>
            <p> Классификация ошибки: безобидная. X11 создает скрытые каталоги в /tmp для хранения
                "файлов" разъемов для локальных соединений. Из соображений
                безопасности X11 предпочитает, чтобы эти каталоги принадлежали
                суперпользователю, но поскольку они в любом случае пишутся пословно, в их работе
                не возникает проблем. (Прим.: Их владение суперпользователем крайне затруднительно,
                т.к. Mac OS X удаляет /tmp при перезагрузке, а работе XDarwin
                не присущи привилегии суперпользователя, впрочем они ей и не требуются.)</p>
            <pre>QuartzAudioInit: AddIOProc returned 1852797029</pre>
            <pre>-[NSCFArray objectAtIndex:]: index (2) beyond bounds (2)</pre>
            <pre>kCGErrorIllegalArgument : CGSGetDisplayBounds (display 35434400)</pre>
            <pre>No core keyboard</pre>
            <p> Классификация ошибки: сомнительная. Это проистекающие ошибки в результате
                попытки сервера вновь настроить самого себя после предыдущей ошибки. В процессе этого
                печатается другая копия баннера запуска, после чего появляется одно или несколько из вышеуказанных сообщений,
                поскольку повторная настройка сервера не может работать должным образом
                в поврежденных версиях XDarwin. Если вы получаете подобные сообщения, надо
                сделать прокрутку в терминальном окне соответствующей консоли
                и поискать другой набор баннера и сообщений. 
                Это относится ко всем версиям вплоть до XDarwin 1.0a3 включительно; данная проблема
                была решена после выпуска 1.0a3.</p>
            <pre>cat: /Users/chrisp/.Xauthority: No such file or directory</pre>
            <p> Классификация ошибки: практически безобидная. Неизвестно, как эти сообщения приходят,
                но на работу они не влияют. Можно от них избавиться, применив
                 <tt style="white-space: nowrap;">touch .Xauthority</tt> в базовом
                каталоге.</p>
            <pre>Gdk-WARNING **: locale not supported by C library</pre>
            <p> Классификация ошибки: безобидная. Она просто отражает свое содержание и не
                препятствует работе приложения. Более подробно <a href="#trouble.locale">см. ниже</a>.</p>
            <pre>Gdk-WARNING **: locale not supported by Xlib, locale set
                to C Gdk-WARNING **: can not set locale modifiers</pre>
            <p> Классификация ошибки: серьезная, но не фатальная. Такие сообщения могут появляться в дополнение к
                вышеуказанным. Они означают, что локальные файлы данных XFree86
                отсутствуют. Нам представляется, что они появляются
                невоспроизводимым образом при построении Free86 от исходного кода. Большинство приложений
                будут продолжать работу, за очевидным исключением GNU Emacs.</p>
            <pre>Unable to open keymapping file USA.keymapping. Reverting
                to kernel keymapping.</pre>
            <p> Классификация ошибки: чаще всего фатальная. Это может произойти с XDarwin 1.0a1 при активации
                опции раскладки клавиатуры "Загрузить из файла" ("Load from file").
                Данная версия нуждается в полном маршруте при настройке загрузки файла через
                диалог параметров, но производит автоматический поиск при ее передаче на
                строку команд. Это сообщение обычно сопровождается
                другим сообщением с "assert", приведенным ниже. Для исправления
                ошибки выполните нижеуказанные инструкции.</p>
            <pre>Fatal server error: assert failed on line 454 of darwinKeyboard.c!</pre>
            <pre>Fatal server error: Could not get kernel keymapping! Load
                keymapping from file instead.</pre>
            <p> Классификация ошибки: фатальная. Изменения, внесенные Apple в Mac OS X 10.1, повредили код
                XFree86, считывающий раскладку клавиатуры из
                ядра операционной системы; в результате появилось данное сообщение.
                Надо использовать опцию "Загрузить из файла" ("Load from file") в
                Mac OS X 10.1. Настройка находится в диалоге параметров XDarwin.
                Убедитесь, что файл выделен (т.е. используйте кнопку "Pick
                file") - простая активация отмечаемой кнопки недостаточна в
                некоторых версиях XDarwin. Если вы не можете попасть в диалог параметров
                из-за того, что XDarwin закрывается прежде, чем у вас появляется возможность это сделать,
                используйте <tt style="white-space: nowrap;">startx --
                    -quartz -keymap USA.keymapping</tt> в терминальном окне. Обычно этого достаточно для запуска
                XDarwin; затем вы можете отразить постоянный выбор в
                диалоге параметров.</p>
            <pre>Fatal server error: Could not find keymapping file .</pre>
            <p>Классификация ошибки: фатальная (о чем и сообщается). Данная ошибка возникает по причине отсутствия
                файлов раскладки клавиатуры в Panther. Надо инсталлировать
                <tt style="white-space: nowrap;">xfree86-4.3.99-16</tt> или более позднюю версию - они не нуждаются в
                файлах раскладки клавиатуры.</p>
            <pre>Warning: no access to tty (Inappropriate ioctl for
                device). Thus no job control in this shell.</pre>
            <p> Классификация ошибки: в большинстве случаев безобидная. XDarwin 1.0a2 и более поздние версии запускают
                интерактивную оболочку на заднем плане для запуска клиентского файла
                (.xinitrc). Это делается для того, чтобы вам не пришлось добавлять
                определения для настройки PATH в этом файле. Некоторые оболочки жалуются, что
                они не подсоединены к реальному терминалу, но на это можно не обращать внимания,
                потому что оболочки не используются в целях
                управления заданиями и т.п.</p>
            <pre>Fatal server error: failed to connect as window server!</pre>
            <p> Классификация ошибки: фатальная. Она означает, что сервер консольного режима (для чистой
                Darwin) начал работу, пока вы были в Aqua. Как правило, это
                происходит, если для инсталляции была использована официальная бинарная дистрибуция XFree86
                без тарбола Xquartz.tgz. Это также может произойти,
                если алиасы в /usr/X11R6/bin перепутались или вы использовали
                команду <tt style="white-space: nowrap;">XDarwin</tt> в терминальном окне для
                запуска сервера (в последнем случае надо вместо нее использовать команду startx -
                см. <a href="#run-xfree86">Starting XFree86</a>).</p>
            <p> В любом из этих случаев вы можете использовать <tt style="white-space: nowrap;">ls -l /usr/X11R6/bin/X*</tt>
                и проверить выходные данные. Вы должны увидеть четыре соответствующих записи:
                <tt style="white-space: nowrap;">X</tt>, алиас со ссылкой на
                <tt style="white-space: nowrap;">XDarwinStartup</tt>;<tt style="white-space: nowrap;">XDarwin</tt>, выполняемый файл
                (это сервер с консольным режимом);
                <tt style="white-space: nowrap;">XDarwinQuartz</tt>, алиас со ссылкой на
                <tt style="white-space: nowrap;">/Applications/XDarwin.app/Contents/MacOS/XDarwin</tt>;
                <tt style="white-space: nowrap;">XDarwinStartup</tt>, небольшой выполняемый файл. Если какие-либо из данных записей отсутствуют
                или ссылаются на другие файлы, надо сделать исправление.
                Способ исправления зависит от способа, использованного вами при
                инсталляции XFree86. Если вы инсталлировали XFree86 при помощи Fink, надо
                вновь инсталлировать пакет <tt style="white-space: nowrap;">xfree86</tt> (или
                <tt style="white-space: nowrap;">xfree86-rootless</tt> для OS 10.2 и более ранних версий). Если вы инсталлировали его
                самостоятельно, надо получить файлы из копии Xquartz.tgz.</p>
            <pre>The XKEYBOARD keymap compiler (xkbcomp) reports: &gt;
                Error: Can't find file "unknown" for geometry
                include &gt; Exiting &gt; Abandoning geometry file
                "(null)" Errors from xkbcomp are not fatal to
                the X server</pre>
            <p> Классификация ошибки: в большинстве случаев безобидная. Как следует из сообщения, это не фатальная ошибка.
                Насколько мне известно, XDarwin вообще не использует расширение XKB.
                Возможно, какая-то клиентская программа пытается его тем не менее использовать ...</p>
            <pre>startx: Command not found.</pre>
            <p> Классификация ошибки: фатальная. Это может произойти с XDarwin 1.0a2 и 1.0a3, если
                ваши файлы инциализации оболочки не содержат настроек для добавления
                /usr/X11R6/bin к переменной величине PATH. Если вы используете Fink и не изменили
                настройки оболочки по умолчанию, для исправления должно быть достаточно добавления строки <tt style="white-space: nowrap;">source
                /sw/bin/init.csh</tt> к <tt style="white-space: nowrap;">.cshrc</tt> в базовом каталоге
                (как рекомендуется в инструкциях Fink).
                </p>
            <pre>_XSERVTransSocketUNIXCreateListener:
                ...SocketCreateListener() failed
                _XSERVTransMakeAllCOTSServerListeners: server already running</pre>
            <pre>Fatal server error: Cannot establish any listening
                sockets - Make sure an X server isn't already running</pre>
            <p> Классификация ошибки: фатальная. Она происходит после случайного одновременного запуска нескольких
                копий XDarwin или после некорректного выключения
                 XDarwin (н-р, при зависании). Также это может быть проблема полномочий доступа к
                файлам разъемов для локальных соединений. Можно попытаться воспользоваться
                <tt style="white-space: nowrap;">rm -rf /tmp/.X11-unix</tt>.
                В большинстве случаев также помогает повторный запуск компьютера (когда Mac OS X
                автоматически очищает /tmp, а сетевой пакет перезагружается)
                </p>
            <pre>Xlib: connection to ":0.0" refused by
                server Xlib: Client is not authorized to connect to Server</pre>
            <p> Классификация ошибки: фатальная. Клиентские программы не могут установить соединение с
                сервером отображения (XDarwin), потому что используют ложные опознавательные данные.
                Ошибка может быть вызвана некоторыми инсталляциями VNC при запуске XDarwin
                через sudo и, вероятно, другими непонятными событиями. Обычное исправление
                состоит в удалении файла .Xauthority (хранящего опознавательные
                данные) в базовом каталоге и повторном создании
                пустого файла:</p>
            <pre>cd rm .Xauthority touch .Xauthority</pre>
            
            <p> Еще одна распространенная причина отказов при запуске XFree86 -
                некорректный файл <tt style="white-space: nowrap;">.xinitrc</tt>.
                Файл <tt style="white-space: nowrap;">.xinitrc</tt> запускается и по какой-то причине
                практически сразу прекращает сеанс.<tt style="white-space: nowrap;">xinit</tt>
                интерпретирует это как "завершение сеанса пользователя" ("the user's session has
                ended") и уничтожает XDarwin. См. раздел <a href="#run-xfree86.xinitrc">.xinitrc
                </a> для получения более подробной информации. Не забудьте, что надо настроить PATH и
                иметь в распоряжении одну долговременную программу, которая запускается не на
                заднем плане. Хорошей идеей является добавление <tt style="white-space: nowrap;">exec xterm</tt> для
                возврата в исходный режим, когда невозможно найти менеджер окон и т.п.</p>
            
        
        <h3><a name="trouble.black">7.2 Черные иконки на панели GNOME и в меню приложения GNOME</a></h3>
            
            <p> Общая проблема заключается в том, что иконки и другие изображения имеют
                вид черных прямоугольников или контурных линий. Первоначально это было обусловлено
                ограничениями в ядре операционной системы. О проблеме сообщили
                Apple, но пока ее не исправили;
                более подробно см. <a href="http://www.opensource.apple.com/bugs/X/Kernel/2691632.html">Отчеты об
                    ошибках в Darwin</a>.</p>
            <p> На данный момент ситуация такова, что расширение MIT-SHM протокола X11
                практически не используется в Darwin и Mac OS X. Есть
                два способа дезактивировать расширение протокола: на сервере
                и на клиенте. На серверах XFree86, инсталлированных при помощи Fink (т.e. пакетах
                xfree86-server и xfree86-rootless), оно уже дезактивировано.
                GIMP и панель GNOME также были модифицированы. 
                Если у вас есть черные иконки в другом приложении, запустите его
                с использованием опции строки команд <tt style="white-space: nowrap;">--no-xshm</tt>.</p>
        
        <h3><a name="trouble.keyboard">7.3 Клавиатура не работает в XFree86</a></h3>
            
            <p> Это известная проблема, которая пока, насколько мы знаем, влияет только на
                портативные компьютеры (PowerBook, iBook). Раньше для ее решения использовалась опция
                раскладки клавиатуры "Load from file".
                Сейчас она стала опцией по умолчанию, поскольку старый способ
                (считывание раскладки из ядра) перестал работать в
                Mac OS X 10.1. Если у вас эта опция не активирована,
                можно это сделать в диалоге параметров XDarwin. Надо отметить пункт
                "Load from file" и выделить файл раскладки клавиатуры для
                загрузки. После перезагрузки XDarwin ваша клавиатура
                должна функционировать лучше (см. текст далее).</p>
            <p> Если вы запускаете XFree86 со строки команд, можно перенести
                имя файла раскладки клавиатуры для загрузки в качестве опции, н-р:</p>
            <pre>startx -- -quartz -keymap USA.keymapping</pre>
        
        <h3><a name="trouble.delete-key">7.4 Клавиша возврата (Backspace) не действует</a></h3>
            
            <p> Это происходит, когда вы используете опцию "Load keymapping from
                file", описанную выше. Файлы раскладки описывают
                клавишу Backspace как "Delete", а не
                "Backspace". Можно исправить положение, внеся
                следующую строку в файл .xinitrc:</p>
            <pre>xmodmap -e "keycode 59 = BackSpace"</pre>
            <p> Если не ошибаюсь, XDarwin 1.0a2 и более поздние версии имеют код,
                автоматически корректно отображающий эту клавишу.</p>
        
        <h3><a name="trouble.locale">7.5 "Warning: locale not supported by C library"</a></h3>
            
            <p> Подобные сообщения очень часты, но безобидны. Они означают только то, о чем
                сообщают - интернационализация не поддерживается стандартной библиотекой
                C и программа будет использовать по умолчанию английский язык для сообщений, форматов дат и т.п.
                Есть несколько способов реагирования на
                данную проблему:</p>
            <ul>
                <li>
                    <p> Просто не обращать на сообщения внимания.</p>
                </li>
                <li>
                    <p> Избавляться от сообщений, установив переменную величину среды
                        LANG в состояние "0". Имейте в виду, что это также отключит
                        интернационализацию в программах, которые ее поддерживают
                        (через gettext/libintl). Пример для .xinitrc:</p>
                    <pre>unset LANG</pre>
                    <p> Пример для .cshrc:</p>
                    <pre>unsetenv LANG</pre>
                </li>
                <li>
                    <p> (только для 10.1) Использовать пакет Fink <tt style="white-space: nowrap;">libxpg4</tt>.
                        Он создает небольшую библиотеку с рабочими локальными
                        функциями и обеспечивает ее загрузку перед загрузкой системных
                        библиотек (с использованием переменной величины среды D_INSERT_LIBRARIES).
                        Возможно, вам надо будет установить переменную величину среды LANG
                        с полной точностью, н-р
                        <tt style="white-space: nowrap;">de_DE.ISO_8859-1</tt> вместо <tt style="white-space: nowrap;">de</tt>
                        или <tt style="white-space: nowrap;">de_DE</tt>.</p>
                </li>
                <li>
                    <p> Обратиться к Apple с просьбой включить полную локальную поддержку
                        в следующую версию Mac OS X.</p>
                </li>
            </ul>
        
    <h2><a name="tips">8 Подсказки по использованию</a></h2>
        
        
        <h3><a name="tips.terminal-app">8.1 Запуск приложений X11 из окна Terminal.app</a></h3>
            
            <p> Для запуска приложений X11из окна Terminal.app необходимо
                настроить переменную величину среды "DISPLAY". Данная переменная
                сообщает приложению, где можно найти окно сервера X11.
                При настройке по умолчанию - когда  XDarwin запускается на одной машине
                - можно установить следующую настройку переменной:</p>
            <ul>
                <li>
                    <p>В случае использования tcsh:</p>
                    <pre>setenv DISPLAY :0.0</pre>
                </li>
                <li>
                    <p>В случае использования bash:</p>
                    <pre>export DISPLAY=":0.0"</pre>
                </li>
            </ul>
            <p> Хорошим решением является настройка, при которой XDarwin.app запускается при вашем входе в систему
                (настройку можно сделать на панели регистрации пользователей в параметрах системы в Mac OS
                10.2 и на панели счетов пользователей в пунктах запуска в Mac OS 10.3):</p>
            <ul>
                <li>
                    <p>При использовании tcsh надо добавить следующее к .cshrc:</p>
                    <pre>if (! $?DISPLAY) then setenv DISPLAY :0.0 endif</pre>
                </li>
                <li>
                    <p>При использовании bash надо добавить следующее к .bashrc:</p>
                    <pre>[[ -z $DISPLAY ]] &amp;&amp; export DISPLAY=":0.0"</pre>
                </li>
            </ul>
            <p> Таким образом DISPLAY настраивается в любой оболочке. При этом данная настройка не
                превалирует над текущим значением, если DISPLAY уже настроен.
                Таким образом  все еще можно запускать приложения X11 дистанционно или через
                ssh с туннелированием X11.</p>
        
        <h3><a name="tips.open">8.2 Запуск приложения Aqua apps из xterm</a></h3>
            
            <p> Одним из способов запуска приложений Aqua из xterm (или любой другой
                оболочки) является команда <tt style="white-space: nowrap;">open</tt>. Примеры:</p>
            <pre>open /Applications/TextEdit.app open SomeDocument.rtf
                open -a /Applications/TextEdit.app index.html</pre>
            <p> Во втором примере документ должен открываться в приложении, которое с ним связано;
                в третьем примере указано приложение, которое необходимо использовать.
                </p>
        
        <h3><a name="tips.copy-n-paste">8.3 Копирование (Copy) и вставка (Paste)</a></h3>
            
            <p> Copy и Paste в основном работают между средами Aqua и X11.
                Все еще возникают некоторые ошибки. Есть жалобы о том, что Emacs
                слишком требователен в текущем выборе. Copy и Рaste не работают между Classic
                и X11.</p>
            <p> Так или иначе, решение заключается в использовании правильного способа
                в зависимости от имеющейся среды. Для переноса текста из Aqua в X11 используйте
                Cmd-C в Aqua, затем перенесите окно направления на передний план
                и для вставки примените "среднюю клавишу мышки" или
                Alt-щелчок, если у вас одноклавишная мышка (эту конфигурацию можно настроить
                в параметрах XDarwin). Для переноса текста из
                X11в Aqua просто выделите текст мышкой в X11, затем вставьте его
                при помощи Cmd-V в Aqua.</p>
            <p> В системе X11 есть несколько отдельных буферов обмена (называемых в X11
                "cut buffers") и некоторые приложения не знают, какой из
                них следует использовать. В частности, по этой причине иногда не работает
                вставка в GNU Emacs или XEmacs.
                Программа <tt style="white-space: nowrap;">autocutsel</tt> может в этом помочь;
                она автоматически синхронизирует два основных буфера для
                вырезанных объектов. Для ее запуска надо инсталлировать пакет Fink autocutsel и
                добавить следующую строку к .xinitrc:</p>
            <pre>autocutsel &amp;</pre>
            <p> (Она обязательно должна находиться <b>перед</b>строкой выполнения менеджера
                окна и никогда не должна быть на заднем плане! Не надо добавлять ее в конце - она просто не
                будет выполняться.) Запомните, что это больше не требуется для
                X11 Apple (см. <a href="#inst-xfree86.apple-binary">Замечания об использовании X11 Apple</a>).</p>
            <p>Если вы используете X11 Apple, можно применять Command-C или
                Edit-&gt;Copy, обычные для приложений Mac, для копирования текста в буфер,
                а среднюю клавишу мышки или Command-V для вставки
                из буфера в X11 Apple.</p>
            <p>В любом случае, если вы сталкиваетесь с проблемами копирования или вставки из
                Aqua в  X11 и наоборот, сначала надо попытаться сделать вставку дважды
                (иногда копия не получается при однократной попытке),
                затем использовать промежуточные приложения, н-р, TextEdit или
                Terminal.app для Aqua и nedit или xterm для X11.
                По моему опыту, всегда можно найти решение.</p>
        
    <hr><h2>Copyright Notice</h2><p>Copyright (c) 2001 Christoph Pfisterer,
Copyright (c) 2001-2011 The Fink Project.
You may distribute this document in print for private purposes,
provided the document and this copyright notice remain complete and
unmodified. Any commercial reproduction and any online publication
requires the explicit consent of the author.</p><hr>
<p>Generated from <i>$Fink: x11.ru.xml,v 1.4 2007/08/15 21:57:05 dmacks Exp $</i></p></body></html>
